/*
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is the FxStruts MailReader Application.
 *
 * The Initial Developer of the Original Code is
 * Anirudh Sasikumar (http://anirudhs.chaosnet.org/).
 * Portions created by the Initial Developer are Copyright (C) 2008
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *
*/
package com.adobe.mailreader.command
{
    import com.adobe.cairngorm.commands.ICommand;
    import com.adobe.cairngorm.control.CairngormEvent;
    import com.adobe.mailreader.business.LocaleDelegate;
    import com.adobe.mailreader.events.LocaleEvent;
    import com.adobe.mailreader.model.MailModelLocator;
    
    import mx.rpc.IResponder;
    import mx.rpc.events.FaultEvent;
    
    /* Change locale */
    public class LocaleCommand implements ICommand, IResponder
    {
        public function LocaleCommand()
        {
            
        }
        
        public function execute( event:CairngormEvent ):void
        {
            var localeEvt:LocaleEvent = event as LocaleEvent;
            
            if ( localeEvt )
            {
                var localeDelegate:LocaleDelegate = new LocaleDelegate(this);
                                
                localeDelegate.changeLocale(localeEvt.language);
            }
            else
                trace("bad event to getLocale");

        }
        
        
        public function result( event : Object ) : void
        {				
            trace("Got result " + event.result);
            
            var model : MailModelLocator = MailModelLocator.getInstance(); 
            if ( event.result == "true" )
            {
                model.notifyView(MailModelLocator.MODEL_LOCALE_GET_SUCCESS);
            }
            else
            {
                model.notifyView(MailModelLocator.MODEL_LOCALE_GET_FAILED);                
            }        
        }
        
        public function fault( event : Object ) : void
        {
            trace("Got fault" + event);
            var model : MailModelLocator = MailModelLocator.getInstance();            
            model.notifyView(MailModelLocator.MODEL_LOCALE_GET_FAILED, (event as FaultEvent).fault.faultString);
        }
        
    }
}